package com.pureut.production.service;


import com.pureut.production.domain.dto.*;
import com.pureut.production.domain.dto.quality.BadMonthDto;
import com.pureut.production.domain.dto.quality.YieldDto;

import java.util.List;

/**
 * @author: CM
 * @date: 2023/5/4    15:25
 */

public interface KanBanService {

    /**
     * 车间信息
     * @param lineCode
     * @return
     */
    WorkshopInfoDto getWorkshopInfo(String lineCode);

    /**
     * 水刺看板-线边库存情况
     * @param lineCode
     * @return
     */
    List<LineStockInfoDto> getLineStockInfo(String lineCode);

    /**
     * 水刺看板-水刺制令单（生产中）
     * @param lineCode
     * @return
     */
    ManufacturingOrderDto getManufacturingOrder(String lineCode);

    /**
     * 水刺看板-制令单（待上线）
     * @param lineCode
     * @return
     */
    List<ToBeOnlineDto> getToBeOnline(String lineCode);

    /**
     * 水刺看板-班组月产量统计
     * @param lineCode
     * @return
     */
    List<TeamsMonthDto> getTeamsMonthOutput(String lineCode);

    /**
     * 生产看板-产线产量统计对比
     * @param lineCode
     * @return
     */
    List<ProductionContrastDto> getProductionContrast(String lineCode);

    /**
     * 生产看板-设备运行情况
     * @param lineCode
     * @return
     */
    List<DeviceOperationDto> getEquipmentOperation(String lineCode);

    /**
     * 生产看板-班组近7天良品率
     * @param lineCode
     * @return
     */
    YieldDto getTeamGoodProducts(String lineCode);

    /**
     * 生产看板-本月不良分布
     * @param lineCode
     * @return
     */
    List<BadMonthDto> getMonthBad(String lineCode);
}
